{"componentChunkName":"component---src-templates-studio-page-js","path":"/studio/algorithms-sort","webpackCompilationHash":"0f979b9b09e9513b4912","result":{"data":{"site":{"siteMetadata":{"keywords":["blog","ubug","tech blog","技术博客","playground"]}},"mdx":{"fields":{"title":"📊 排序算法","noFooter":false,"description":"排序算法可视化","date":"2019-07-29","author":"Ubug","banner":{"childImageSharp":{"fluid":{"tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='458'%3e%3cpath%20d='M129%20332v18l1%2017h69l72-1c1-1%202-30%200-33%200-3-141-3-142-1'%20fill='%23573ede'%20fill-rule='evenodd'/%3e%3c/svg%3e","aspectRatio":0.8738019169329073,"src":"/static/28e6c435035e16b5ef6fe05e4a5419b1/fbb15/sort.png","srcSet":"/static/28e6c435035e16b5ef6fe05e4a5419b1/82675/sort.png 500w,\n/static/28e6c435035e16b5ef6fe05e4a5419b1/fef60/sort.png 1000w,\n/static/28e6c435035e16b5ef6fe05e4a5419b1/fbb15/sort.png 1094w","srcWebp":"/static/28e6c435035e16b5ef6fe05e4a5419b1/f71dc/sort.webp","srcSetWebp":"/static/28e6c435035e16b5ef6fe05e4a5419b1/7fe04/sort.webp 500w,\n/static/28e6c435035e16b5ef6fe05e4a5419b1/d619e/sort.webp 1000w,\n/static/28e6c435035e16b5ef6fe05e4a5419b1/f71dc/sort.webp 1094w","sizes":"(max-width: 1094px) 100vw, 1094px"}}},"noGlobalStyles":false,"bannerCredit":null,"slug":"/studio/algorithms-sort","tags":["algorithms-sort","talking"]},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"algorithms-sort\",\n  \"title\": \"📊 排序算法\",\n  \"tech\": \"javascript\",\n  \"date\": \"2019-07-29 20:28:12\",\n  \"description\": \"排序算法可视化\",\n  \"titleColor\": \"#3f3f3f\",\n  \"btnStyle\": \"darkBlue\",\n  \"tags\": [\"algorithms-sort\", \"talking\"],\n  \"banner\": \"../studios/sort.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(SortDemos, {\n    mdxType: \"SortDemos\"\n  }), mdx(\"br\", null));\n}\n;\nMDXContent.isMDXComponent = true;"}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"2d3bdec4-5085-54e8-a9f4-7cd0acce1d0a","prev":{"fileAbsolutePath":"D:/ubug/storybook/content/studio/leet-code/index.md","id":"719e5e48-49e8-5cd8-8c4d-313c3161f9fa","parent":{"name":"index","sourceInstanceName":"studio"},"excerpt":"😄 reduce 函数 reduce 😜 算法双指针 twoPointers 😋 最大的 K 元素 biggerK","fields":{"title":"🔢 Leet Code 算法","slug":"/studio/leet-code","description":"Leet Code 有很多算法，面试中的算法也基本上出自于。算法学习，不定期更新。","date":"2019-08-20","redirects":null,"datetime":"2019-08-20 20:28:12","categories":[],"series":null,"tags":["leet-code","talking"],"status":"online"},"frontmatter":{"published":null,"tags":["leet-code","talking"],"theme":null,"slug":"leet-code","date":"2019-08-20 20:28:12"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"leet-code\",\n  \"title\": \"🔢 Leet Code 算法\",\n  \"tech\": \"algorithm\",\n  \"date\": \"2019-08-20 20:28:12\",\n  \"description\": \"Leet Code 有很多算法，面试中的算法也基本上出自于。算法学习，不定期更新。\",\n  \"titleColor\": \"#b8b8b8\",\n  \"btnStyle\": \"darkBlue\",\n  \"contentPadding\": \"3% 10% 0\",\n  \"tags\": [\"leet-code\", \"talking\"],\n  \"banner\": \"../studios/leetcode.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/reduce\"\n  }, \"\\uD83D\\uDE04 reduce \\u51FD\\u6570 reduce\")), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/two-pointers\"\n  }, \"\\uD83D\\uDE1C \\u7B97\\u6CD5\\u53CC\\u6307\\u9488 twoPointers\")), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/blog/bigger-k\"\n  }, \"\\uD83D\\uDE0B \\u6700\\u5927\\u7684 K \\u5143\\u7D20 biggerK\")));\n}\n;\nMDXContent.isMDXComponent = true;"},"next":{"fileAbsolutePath":"D:/ubug/storybook/content/studio/dj/index.md","id":"a32afd71-f996-506e-bd5f-072980178c61","parent":{"name":"index","sourceInstanceName":"studio"},"excerpt":"对于技术人来说，很多优秀的技术需要踮起脚尖才能看到。 {/  基于国际出口旁路深度数据包分析，并自动针对可疑协议，向国内骨干网路由器动态更新 BGP 路由信息，针对特定 IP 特定端口进行降速、丢包甚至彻底黑洞的机制。  /} 免费送三天不限流不限速:  西部世界 互联网也是有地域性，并且其上的内容流动也应该有法律的容器来管控，所以技术无界限，但是还是需要遵守肉身所在地的法律法规哦~~ {/  我对 zz 完全不感冒，不完全说 GFW 有多好，但是仍然强烈认同 GFW…","fields":{"title":"♿ 技术宅看世界","slug":"/studio/dj","description":"对于技术人来说，很多优秀的技术需要踮起脚尖才能看到。技术无界限，但是还是需要遵守肉身所在地的法律法规哦~~","date":"2015-07-20","redirects":null,"datetime":"2015-07-20 20:28:12","categories":[],"series":null,"tags":["tizi","talking"],"status":"online"},"frontmatter":{"published":null,"tags":["tizi","talking"],"theme":null,"slug":"dj","date":"2015-07-20 20:28:12"},"body":"const _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsx mdx */\n\nconst _frontmatter = {\n  \"slug\": \"dj\",\n  \"title\": \"♿ 技术宅看世界\",\n  \"tech\": \"other\",\n  \"date\": \"2015-07-20 20:28:12\",\n  \"description\": \"对于技术人来说，很多优秀的技术需要踮起脚尖才能看到。技术无界限，但是还是需要遵守肉身所在地的法律法规哦~~\",\n  \"titleColor\": \"#b8b8b8\",\n  \"btnStyle\": \"darkBlue\",\n  \"tags\": [\"tizi\", \"talking\"],\n  \"banner\": \"../studios/dj.png\"\n};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return mdx(\"div\", props);\n};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  let {\n      components\n    } = _ref,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\\u5BF9\\u4E8E\\u6280\\u672F\\u4EBA\\u6765\\u8BF4\\uFF0C\\u5F88\\u591A\\u4F18\\u79C0\\u7684\\u6280\\u672F\\u9700\\u8981\\u8E2E\\u8D77\\u811A\\u5C16\\u624D\\u80FD\\u770B\\u5230\\u3002\"), mdx(\"p\", null, \"{/\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \" \\u57FA\\u4E8E\\u56FD\\u9645\\u51FA\\u53E3\\u65C1\\u8DEF\\u6DF1\\u5EA6\\u6570\\u636E\\u5305\\u5206\\u6790\\uFF0C\\u5E76\\u81EA\\u52A8\\u9488\\u5BF9\\u53EF\\u7591\\u534F\\u8BAE\\uFF0C\\u5411\\u56FD\\u5185\\u9AA8\\u5E72\\u7F51\\u8DEF\\u7531\\u5668\\u52A8\\u6001\\u66F4\\u65B0 BGP \\u8DEF\\u7531\\u4FE1\\u606F\\uFF0C\\u9488\\u5BF9\\u7279\\u5B9A IP \\u7279\\u5B9A\\u7AEF\\u53E3\\u8FDB\\u884C\\u964D\\u901F\\u3001\\u4E22\\u5305\\u751A\\u81F3\\u5F7B\\u5E95\\u9ED1\\u6D1E\\u7684\\u673A\\u5236\\u3002 \"), \"/}\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u514D\\u8D39\\u9001\\u4E09\\u5929\\u4E0D\\u9650\\u6D41\\u4E0D\\u9650\\u901F: \", mdx(\"a\", {\n    href: \"https://xbsj9895.xyz/i/iv200324/R8EEwuY\",\n    target: \"_blank\",\n    rel: \"nofollow noopener noreferrer\"\n  }, \"\\u897F\\u90E8\\u4E16\\u754C\"))), mdx(\"p\", null, \"\\u4E92\\u8054\\u7F51\\u4E5F\\u662F\\u6709\\u5730\\u57DF\\u6027\\uFF0C\\u5E76\\u4E14\\u5176\\u4E0A\\u7684\\u5185\\u5BB9\\u6D41\\u52A8\\u4E5F\\u5E94\\u8BE5\\u6709\\u6CD5\\u5F8B\\u7684\\u5BB9\\u5668\\u6765\\u7BA1\\u63A7\\uFF0C\\u6240\\u4EE5\\u6280\\u672F\\u65E0\\u754C\\u9650\\uFF0C\\u4F46\\u662F\\u8FD8\\u662F\\u9700\\u8981\\u9075\\u5B88\\u8089\\u8EAB\\u6240\\u5728\\u5730\\u7684\\u6CD5\\u5F8B\\u6CD5\\u89C4\\u54E6~~\"), mdx(\"p\", null, \"{/\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \" \\u6211\\u5BF9 zz \\u5B8C\\u5168\\u4E0D\\u611F\\u5192\\uFF0C\\u4E0D\\u5B8C\\u5168\\u8BF4 GFW \\u6709\\u591A\\u597D\\uFF0C\\u4F46\\u662F\\u4ECD\\u7136\\u5F3A\\u70C8\\u8BA4\\u540C GFW \\u8FD9\\u6837\\u4E00\\u4E2A\\u673A\\u5236\\u7684\\u5B58\\u5728\\u3002\\u6BCF\\u4E2A\\u4EBA\\u5728\\u7ECF\\u5386\\u4E86\\u5F88\\u591A\\u5E74\\u7684\\u73AF\\u5883\\u6559\\u80B2\\uFF0C\\u90FD\\u5E94\\u8BE5\\u77E5\\u9053\\u8C0E\\u8A00\\u3001\\u865A\\u5047\\u3001\\u8BDD\\u8BED\\u6743\\u3001\\u4FE1\\u4EF0\\u548C\\u575A\\u4FE1\\u7684\\u4E1C\\u897F\\u90FD\\u592A\\u5BB9\\u6613\\u88AB\\u4FE1\\u606F\\u6D2A\\u6D41\\u51B2\\u51FB\\uFF0C\\u5B66\\u751F\\u65F6\\u4EE3\\u7684\\u81EA\\u5DF1\\u575A\\u4FE1\\u89C1\\u7684\\u8D8A\\u591A\\u8D8A\\u597D\\uFF0C\\u6240\\u4EE5\\u5BB9\\u6613\\u76F8\\u4FE1\\u5F88\\u591A\\u4E8B\\uFF0C\\u4F46\\u662F\\u4E00\\u70B9\\u70B9\\u7684\\u88AB\\u793E\\u4F1A\\u7684\\u9669\\u6076\\u6559\\u80B2\\uFF0C\\u6709\\u7684\\u4EBA\\u5C31\\u662F\\u6CA1\\u6765\\u7531\\u7684\\u4E50\\u89C1\\u4F60\\u5760\\u5165\\u6DF1\\u6E0A\\uFF0C\\u800C\\u4E92\\u8054\\u7F51\\u5168\\u90FD\\u662F\\u8FD9\\u79CD\\u4FE1\\u606F\\u3002\\u6BCF\\u4E2A\\u4EBA\\u90FD\\u9700\\u8981\\u6709\\u72EC\\u7ACB\\u7684\\u601D\\u8003\\u548C\\u5224\\u65AD\\u529B\\u4E4B\\u540E\\uFF0C\\u624D\\u53EF\\u4EE5\\u9762\\u5BF9\\u6240\\u8C13\\u81EA\\u7531\\u7684\\u4FE1\\u606F\\u6D2A\\u6D41 \"), \"/}\"), mdx(\"p\", null, \"\\u6211\\u8E2E\\u8D77\\u811A\\u5C16\\u60F3\\u8981\\u770B\\u5230\\u7684\\u662F\\u6211\\u60F3\\u8981\\u5BFB\\u627E\\u7684\\uFF0C\\u6EE1\\u773C\\u90FD\\u662F\\u65E0\\u6570\\u4F18\\u79C0\\u7684\\u601D\\u60F3\\u548C\\u6280\\u672F\\uFF0C\\u66F4\\u597D\\u7684\\u89E3\\u51B3\\u81EA\\u5DF1\\u7684\\u95EE\\u9898\\uFF0C\\u63D0\\u5347\\u81EA\\u5DF1\\u7684\\u80FD\\u529B\\u3002\\u50CF\\u662F\\u73A9\\u591F\\u4E86\\u7BF1\\u7B06\\u91CC\\u9762\\u4E0D\\u591F\\u597D\\u770B\\u7684\\u4E1C\\u897F\\uFF0C\\u80FD\\u591F\\u4FDD\\u62A4\\u597D\\u81EA\\u5DF1\\u4E4B\\u540E\\uFF0C\\u5230\\u6D77\\u6EE9\\u770B\\u5230\\u8D1D\\u58F3\\u7684\\u5927\\u5B69\\u5B50\\u3002\\u6211\\u5F3A\\u70C8\\u5E0C\\u671B\\u4F60\\u5148\\u80FD\\u591F\\u77E5\\u9053\\u81EA\\u5DF1\\u8981\\u4EC0\\u4E48\\uFF0C\\u91CD\\u70B9\\u662F\\u89E3\\u51B3\\u4F60\\u7684\\u95EE\\u9898\\u3001\\u63D0\\u5347\\u4F60\\u7684\\u80FD\\u529B\\u3001\\u53D8\\u5F97\\u66F4\\u9760\\u8C31\\uFF0C\\u4ECE\\u800C\\u66F4\\u597D\\u7684\\u751F\\u6D3B\\u3002\\u800C\\u4E0D\\u662F\\u88AB\\u597D\\u5947\\u6216\\u8005\\u7CD6\\u679C\\u9A97\\u8D70\\u4E86\\u4F60\\u7684\\u521D\\u5FC3\\u3002\\u6240\\u4EE5\\u5982\\u679C\\u4F60\\u4E0D\\u76F8\\u4FE1\\u6709\\u4EBA\\u5C31\\u662F\\u6CA1\\u6765\\u7531\\u7684\\u4E50\\u89C1\\u4F60\\u5760\\u5165\\u6DF1\\u6E0A\\uFF0C\\u8BF7\\u4E0D\\u8981\\u6253\\u5F00\\u8FD9\\u4E2A\\u6F58\\u591A\\u62C9\\u9B54\\u76D2\\u3002\"));\n}\n;\nMDXContent.isMDXComponent = true;"}}}}